Skip to main content

Communication Top Tips

Communicating when not in an office can bring a lot of flexibility but it can also be a challenge. Then layer on top of that the differences in culture in our locations things get even more challenging.

We love this image as a fun way to illustrate an example how different areas of the world communicate

Objective DistributionCommunication Top Tips
Objective Distribution
  • Always be meaningful in any communication. Ask yourself "what am I really trying to get out of this communication".
  • Be mindful of noise. Only comment if you have something to add to the discussion and avoid Drive by opinions (Swoop & Poop) where you don’t have the context and aren’t really a part of the discussion.
  • Document EVERYTHING.
  • Don’t be afraid to use emoji’s. It’s hard to convey feelings or tone and emoji’s were created specifically for this.
  • Use a voice message if that’s easier. Written communication isn’t always the best but also calling someone to a meeting may not be perfect either. Simple voice messages are a wonderful bridge in between both options
  • Record a video / screen share
  • Slack hangouts are a hidden gem that can be used to pair program, generally chat or bug fix together without the need to stare at a screen to see everyone in a virtual meeting room

Public Before Private

Through all of our different remote communication techniques this has to be our most important rule. When sitting alone and not in an office it's very easy to miss out on interesting or important conversations happening in the general room. For this reason we strongly encourage the public slack channels are used at close to all times. Even if you have a specific question for someone in a team, tag them but still ask it in the public channel just in case it's interesting for other people to know about or maybe they can even help give the answer.

The only reason for private communication is if's regarding a sensitive topic and for this it's quite likely email or a phone call is better.

Collaboration Tooling we tend to use today

Slack

Slack is used for all general "chatting" style communication. We have fun channels, team specific channels and company wide channels. Slack hangouts are quickly becoming one of our favorite collaboration tools amongst development teams.

Google Workspace

We use Google Workspace for all email, calendars, drive and video calls when needed. We moved away from the Microsoft suite because Google gave us the flexibility we wanted and after 6 months we're still loving the change. We use things like shared calendars to easily communicate with team members days you plan to be away from work.

Atlassian

We use both Jira and Confluence in our daily work. We strive to not over complicate our Jira workflow and make sure it's a great async tool for all teams to be able to use. We recognise that Jira usage can suddenly become a burden and we work hard on making sure this doesn't happen by over complicating its setup.

Code Repositories

Teams are allowed to pick their preferred code repository but today we generally use Github and Azure DevOps. We're always trying to improve our code review processes to make them meaningful to everyone and as async as possible.

Mural

We are trialing different ways to run remote workshops. We've enjoyed using Mural in the past as an interactive way to replace physical whiteboards. We still haven't landed on it as the perfect tool for us but continue to try to find great ways to use tools like this.

"Flow Mode"

Everyone needs time in their day when they need to concentrate and get "Into the flow". We created a specific status for this in slack to easily inform all of your peers when you're in flow and you may not respond to messages for a while

Flow Mode

Async

We strongly believe in becoming more Async in our daily work. This helps people feel not as restricted to their desk and getting out and taking a walk for example during the day when they need it.

We're striving to continue to get better and here are some of the ways so far we've tried to make our daily tasks more Async

  • Use geekbot for things like standups instead of a set synchronous meeting every day
  • Track coding work or conversations as much as possible in issues, PR's or tickets
  • Use hangouts instead of set meetings. If you just want general help from a team or to have conversations. Only create a meeting if someone absolutely has to be there.
  • Record meetings so if someone misses it they can easily watch it back
  • Don't be afraid to send voice messages or record a screen share and attach it to things like tickets if that's a better way to communicate your thoughts or work.